package de.fhb.fitmeier.dbhibernate.persistence;
// Generated 10.03.2012 17:17:31 by Hibernate Tools 3.4.0.CR1


import java.math.BigDecimal;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

/**
 * Medikamentartikel generated by hbm2java
 */
@Entity
@Table(name="Medikamentartikel"
, uniqueConstraints = @UniqueConstraint(columnNames="PZN") 
)
public class Medikamentartikel  implements java.io.Serializable {


     private long ean;
     private Medikament medikament;
     private Integer pzn;
     private String normgroesse;
     private String packungsgroesse;
     private boolean rezeptpflicht;
     private BigDecimal uvp;
     private BigDecimal verkaufspreis;
     private String lagerfach;
     private short lagerkapazitaet;
     private short mindestbestand;
     private Set<Bestand> bestands = new HashSet<Bestand>(0);
     private Set<Von> vons = new HashSet<Von>(0);

    public Medikamentartikel() {
    }

	
    public Medikamentartikel(long ean, Medikament medikament, String packungsgroesse, boolean rezeptpflicht, BigDecimal verkaufspreis, String lagerfach, short lagerkapazitaet, short mindestbestand) {
        this.ean = ean;
        this.medikament = medikament;
        this.packungsgroesse = packungsgroesse;
        this.rezeptpflicht = rezeptpflicht;
        this.verkaufspreis = verkaufspreis;
        this.lagerfach = lagerfach;
        this.lagerkapazitaet = lagerkapazitaet;
        this.mindestbestand = mindestbestand;
    }
    public Medikamentartikel(long ean, Medikament medikament, Integer pzn, String normgroesse, String packungsgroesse, boolean rezeptpflicht, BigDecimal uvp, BigDecimal verkaufspreis, String lagerfach, short lagerkapazitaet, short mindestbestand, Set<Bestand> bestands, Set<Von> vons) {
       this.ean = ean;
       this.medikament = medikament;
       this.pzn = pzn;
       this.normgroesse = normgroesse;
       this.packungsgroesse = packungsgroesse;
       this.rezeptpflicht = rezeptpflicht;
       this.uvp = uvp;
       this.verkaufspreis = verkaufspreis;
       this.lagerfach = lagerfach;
       this.lagerkapazitaet = lagerkapazitaet;
       this.mindestbestand = mindestbestand;
       this.bestands = bestands;
       this.vons = vons;
    }
   
     @Id 

    
    @Column(name="EAN", unique=true, nullable=false)
    public long getEan() {
        return this.ean;
    }
    
    public void setEan(long ean) {
        this.ean = ean;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="MedikamentID", nullable=false)
    public Medikament getMedikament() {
        return this.medikament;
    }
    
    public void setMedikament(Medikament medikament) {
        this.medikament = medikament;
    }

    
    @Column(name="PZN", unique=true, precision=8, scale=0)
    public Integer getPzn() {
        return this.pzn;
    }
    
    public void setPzn(Integer pzn) {
        this.pzn = pzn;
    }

    
    @Column(name="Normgroesse", length=3)
    public String getNormgroesse() {
        return this.normgroesse;
    }
    
    public void setNormgroesse(String normgroesse) {
        this.normgroesse = normgroesse;
    }

    
    @Column(name="Packungsgroesse", nullable=false, length=30)
    public String getPackungsgroesse() {
        return this.packungsgroesse;
    }
    
    public void setPackungsgroesse(String packungsgroesse) {
        this.packungsgroesse = packungsgroesse;
    }

    
    @Column(name="Rezeptpflicht", nullable=false)
    public boolean isRezeptpflicht() {
        return this.rezeptpflicht;
    }
    
    public void setRezeptpflicht(boolean rezeptpflicht) {
        this.rezeptpflicht = rezeptpflicht;
    }

    
    @Column(name="UVP", precision=5)
    public BigDecimal getUvp() {
        return this.uvp;
    }
    
    public void setUvp(BigDecimal uvp) {
        this.uvp = uvp;
    }

    
    @Column(name="Verkaufspreis", nullable=false, precision=5)
    public BigDecimal getVerkaufspreis() {
        return this.verkaufspreis;
    }
    
    public void setVerkaufspreis(BigDecimal verkaufspreis) {
        this.verkaufspreis = verkaufspreis;
    }

    
    @Column(name="Lagerfach", nullable=false, length=5)
    public String getLagerfach() {
        return this.lagerfach;
    }
    
    public void setLagerfach(String lagerfach) {
        this.lagerfach = lagerfach;
    }

    
    @Column(name="Lagerkapazitaet", nullable=false, precision=3, scale=0)
    public short getLagerkapazitaet() {
        return this.lagerkapazitaet;
    }
    
    public void setLagerkapazitaet(short lagerkapazitaet) {
        this.lagerkapazitaet = lagerkapazitaet;
    }

    
    @Column(name="Mindestbestand", nullable=false, precision=3, scale=0)
    public short getMindestbestand() {
        return this.mindestbestand;
    }
    
    public void setMindestbestand(short mindestbestand) {
        this.mindestbestand = mindestbestand;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="medikamentartikel")
    public Set<Bestand> getBestaende() {
        return this.bestands;
    }
    
    public void setBestaende(Set<Bestand> bestaende) {
        this.bestands = bestaende;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="medikamentartikel")
    public Set<Von> getVons() {
        return this.vons;
    }
    
    public void setVons(Set<Von> vons) {
        this.vons = vons;
    }




}


